package com.boot.mapper;

import com.boot.domain.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author wwj
 */

public interface OrganizationMapper {
    /**
     * 根据id查询机构
     * @param id
     * @return
     */
    public Organization selectOrgById(Integer id);

    public List<InspectionByType> getInspectionByType(int orgType);

    public List<LaboratoryByType> getLaboratoryByType(int orgType);

    public List<ScientificByType> getScientificByType(int orgType);

    public List<OrganizationByDistribution> getOrganizationByDistribution();

    public List<RankingByDistribution> getNewCancelSumByDistribution();

    public List<ProportionByDistribution> getNewCancelSumProportion();

    public List<OrganiseByDistribution> getOrgOrganiseSum(@Param("county")String county);

    public List<OrganiseByDistribution> getOrgChildOrganiseSum(@Param("county")String county,@Param("parentId")String parentId);

    public List<OrganiseByDistribution> getNewOrgOrganiseSum(@Param("county")String county);

    public List<OrganiseByDistribution> getNewOrgChildOrganiseSum(@Param("county")String county,@Param("parentId")String parentId);

    public List<OrganiseByDistribution> getCancelOrgOrganiseSum(@Param("county")String county);

    public List<OrganiseByDistribution> getCancelOrgChildOrganiseSum(@Param("county")String county,@Param("parentId")String parentId);

    public List<OrganiseByDistribution> getTestOrgOrganiseSum(@Param("county")String county);

    public List<OrganiseByDistribution> getTestOrgChildOrganiseSum(@Param("county")String county,@Param("parentId")String parentId);

    public List<Organization> getOrgListByZoneCode(@Param("county")String county);

    public List<TurnoverByIndeustry> getOrgTurnoverByIndeustry(@Param("county") String county);

    public List<OrgTradeSum> getOrgTradeSumByZoneCode(@Param("county") String county);

    public List<OrgGDPSum> getOrgGDPSumByZoneCode(@Param("county") String county);

    public List<NewOrgOrganise> getNewOrgOrganiseByZoneCode(@Param("county") String conuty, @Param("organiseCode") String organiseCode);

    public List<OrgCompetitive> getOrgCompetitiveByOrgCode(String orgCode);

    public List<OrgEachCompetitive> getOrgEachCompetitiveByCompetitiveId(int competitiveId);

    public Integer getCompetitiveIdByOrgCode(String orgCode);

    public String getAnalysisReportByOrgCode(String orgCode);

    public String getAnalysisReportByIndustryCode(String industryCode);

    public List<Zone> getAllZone();

    public List<Industry> getAllIndustry();

    public List<Organization> getOrgByZoneAndIndustry(@Param("zoneCode") String zoneCode,@Param("industryCode") String industryCode);

    public List<SalesVolume> getSalesVolumeByOrgCode(String orgCode);

    public List<SalesVolume> getSalesVolumeByIndustryCode(@Param("zoneCode") String zoneCode,@Param("industryCode") String industryCode);

    public List<SalesTurnover> getSalesTurnoverByOrgCode(String orgCode);

    public List<SalesTurnover> getSalesTurnoverByIndustryCode(@Param("zoneCode") String zoneCode,@Param("industryCode") String industryCode);

    public List<QualityCredit> getQualityCreditByOrgCode(String orgCode);

    public List<QualityCredit> getQualityCreditByIndustryCode(@Param("county") String county,@Param("industryCode") String industryCode);

    public List<ProductionLicense> getProductionLicenseByOrgCode(String orgCode);

    public List<ProductionLicense> getProductionLicenseByIndustryCode(@Param("county") String county,@Param("industryCode") String industryCode);

    public List<Proportion> getProportionByOrgCode(String orgCode);

    public List<Proportion> getProportionByIndustryCode(@Param("county") String county,@Param("industryCode") String industryCode);

    public List<Consume> getConsumeByOrgCode(String orgCode);

    public List<Consume> getConsumeByIndustryCode(@Param("county") String county,@Param("industryCode") String industryCode);

    public List<Organization> getOrgListByOrganiseZoneCode(@Param("county") String county,@Param("code") String code);

    public List<OrgTest> getOrgTestListByOrganiseZoneCode(@Param("county") String county,@Param("code") String code);

    public List<Profile> getProfile();
}
